﻿/*----------------------------------------------------------------
// Copyright (C) 2008 jillzhang 版权所有。 
//
// 文件名：JsonFormaterHelper.cs
// 文件功能描述：
// 
// 创建标识： jillzhang 
// 修改标识： 
// 修改描述：
//
// 修改标识： 
// 修改描述：
//----------------------------------------------------------------*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;

namespace UCenter.Core.Formaters {
   public class JsonFormaterHelper<T> {
        #region 字段

        #endregion

        #region 构造函数

        #endregion

        #region 属性

        #endregion

        #region 事件

        #endregion

        public static T Deserialize(string jsonDatas,Encoding encoding) {
            System.Runtime.Serialization.Json.DataContractJsonSerializer jsonFormater = new System.Runtime.Serialization.Json.DataContractJsonSerializer(typeof(T));
            byte[] buffer = encoding.GetBytes(jsonDatas);
            using (MemoryStream ms = new MemoryStream(buffer)) {
                ms.Position = 0;
                T obj = (T)jsonFormater.ReadObject(ms);
                return obj;
            }
        }
        public static string Serialize(T obj) {
            System.Runtime.Serialization.Json.DataContractJsonSerializer jsonFormater = new System.Runtime.Serialization.Json.DataContractJsonSerializer(typeof(T));
            using (MemoryStream ms = new MemoryStream()) {
                jsonFormater.WriteObject(ms, obj);
                ms.Position = 0;
                using (StreamReader sr = new StreamReader(ms)) {
                    return sr.ReadToEnd();
                }
            }
        }
    }
}
